import request from "@/uni_modules/zhouWei-request/js_sdk/request";
import messageWhiteList from '@/config/messageWhiteList.js'
import base from '@/config/method.js';
import store from '@/store';

const $http = (argument, baseURL = 'API', loading = true) => {
	console.log(argument, baseURL, base[argument.API], '对象')
	argument.data = {
		...argument.data,
		// key: '16f4e0c089de67d31920be33f717216d'
	}
	if (loading) {
		uni.showLoading({
			title: '加载中',
			mask: true
		})
	}
	return new Promise((resolve, reject) => {
		const requestTask = uni.request({
			url: base[argument.API] + argument.url,
			method: argument.methods || 'GET',
			header: {
				'Blade-Auth': 'bearer' + ' ' + uni.getStorageSync('token'),
				'Authorization': uni.getStorageSync('token') || 'Basic c2FiZXI6c2FiZXJfc2VjcmV0',
			},
			data: argument.data || {},
			success: res => {
				console.log('请求响应结果：', res.data)
				resolve(res.data);
			},
			fail: error => {
				console.log('网络出现异常：', error)
				// modal('网络出现异常，请稍后重试')
				reject(error);
			},
			complete: () => {
				if (loading) uni.hideLoading()
				uni.stopPullDownRefresh()
			}
		})

	})






}
export default $http;

// let $http = new request({
// 	//接口请求地址
// 	baseUrl: base.UNI_APP_BASE_API,
// 	//服务器本地上传文件地址
// 	fileUrl: base.UNI_APP_BASE_API,
// 	// 服务器上传图片默认url
// 	defaultUploadUrl: "https://apis.tianapi.com/",
// 	// 服务器上传文件名称
// 	defaultFileName: "file",
// 	//设置请求头（如果使用报错跨域问题，可能是content-type请求类型和后台那边设置的不一致）
// 	header: {
// 		'Authorization': uni.getStorageSync('Authorization'),
// 		'content-type': 'application/x-www-form-urlencoded',
// 	}
// });
// //请求开始拦截器
// $http.requestStart = function(options) {
// 	if (options.load) {
// 		//打开加载动画
// 		store.commit("setLoadingShow", true);
// 	}
// 	// 图片、视频上传大小限制
// 	if (options.method == "FILE") {
// 		// 文件最大字节: options.maxSize 可以在调用方法的时候加入参数
// 		let maxSize = options.maxSize || '';
// 		for (let item of options.files) {
// 			if (item.fileType == 'image') {
// 				if (maxSize && item.size > maxSize) {
// 					setTimeout(() => {
// 						uni.showToast({
// 							title: "图片过大，请重新上传",
// 							icon: "none"
// 						});
// 					}, 500);
// 					return false;
// 				}
// 			} else if (item.fileType == "video") {
// 				if (item.duration < 3) {
// 					setTimeout(() => {
// 						uni.showToast({
// 							title: "视频长度不足3秒，请重新上传",
// 							icon: "none"
// 						});
// 					}, 500);
// 					return false;
// 				}
// 			}
// 		}

// 	}
// 	// #ifdef APP-PLUS
// 	// 添加当前版本号
// 	if (version_code) {
// 		options.header['version_code'] = version_code;
// 	}
// 	// #endif
// 	//请求前加入token
// 	//let storeUserInfo = store.state.userInfo;
// 	//if (storeUserInfo != {} && storeUserInfo!=null) { // nvue页面读取不到vuex里面数据，将取缓存
// 	var token = uni.getStorageSync("accessToken");
// 	// console.log(token)
// 	if (token) {
// 		options.header['Authorization'] = "Bearer " + token;
// 	}
// 	//}
// 	return options;
// }
// //请求结束
// $http.requestEnd = function(options) {
// 	//判断当前接口是否需要加载动画
// 	if (options.load) {
// 		// 关闭加载动画
// 		store.commit("setLoadingShow", false);
// 	}
// }
// $http.dataFactory = async function(res) {
// 	if (res.response.statusCode == 200) {
// 		var httpData = res.response.data;
// 		if (res.url.indexOf("RefreshTokenByApp") != -1) {

// 			return Promise.resolve(httpData);
// 		} else if (typeof(httpData) == "string") {

// 			httpData = JSON.parse(httpData);
// 		} else if (httpData.code == 200) {
// 			return Promise.resolve(httpData.result);
// 		} else if (httpData.code == 240 || httpData.code == 260 || httpData.code == 150) {
// 			uni.showToast({
// 				title: httpData.msg,
// 				icon: "none",
// 				duration: 3000
// 			});
// 		}
// 	} else {
// 		if (messageWhiteList.indexOf(httpData.msg) == -1) {
// 			uni.showToast({
// 				title: httpData.msg,
// 				icon: "none",
// 				duration: 3000
// 			});
// 			//返回错误的结果(catch接受数据)
// 			return Promise.reject({
// 				statusCode: 0,
// 				errMsg: httpData.msg,
// 				data: httpData
// 			});
// 		} else {
// 			return Promise.resolve(httpData);
// 		}
// 	}


// }

// // 错误回调
// $http.requestError = function(e) {
// 	// e.statusCode === 0 是参数效验错误抛出的
// 	if (e.statusCode === 0) {
// 		throw e;
// 	} else {
// 		console.log(e);
// 		uni.showToast({
// 			title: "网络错误，请检查一下网络",
// 			icon: "none"
// 		});
// 	}
// }


// function goLogin() {
// 	// 回登录
// 	uni.removeStorageSync("userInfo");
// 	uni.removeStorageSync("accessToken");
// 	uni.removeStorageSync("refreshToken");
// 	uni.showModal({
// 		title: '提示',
// 		content: '您的登录信息已过期，请重新登录',
// 		success: function(res) {
// 			if (res.confirm) {
// 				uni.navigateTo({
// 					url: "/pages/index/index"
// 				});
// 			} else if (res.cancel) {
// 				console.log('用户点击取消2');
// 			}
// 		}
// 	});
// }
// export default $http;